package com.sdry.entity;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class PartOrderDetailExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public PartOrderDetailExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andOrderDetailIdIsNull() {
            addCriterion("order_detail_id is null");
            return (Criteria) this;
        }

        public Criteria andOrderDetailIdIsNotNull() {
            addCriterion("order_detail_id is not null");
            return (Criteria) this;
        }

        public Criteria andOrderDetailIdEqualTo(Long value) {
            addCriterion("order_detail_id =", value, "orderDetailId");
            return (Criteria) this;
        }

        public Criteria andOrderDetailIdNotEqualTo(Long value) {
            addCriterion("order_detail_id <>", value, "orderDetailId");
            return (Criteria) this;
        }

        public Criteria andOrderDetailIdGreaterThan(Long value) {
            addCriterion("order_detail_id >", value, "orderDetailId");
            return (Criteria) this;
        }

        public Criteria andOrderDetailIdGreaterThanOrEqualTo(Long value) {
            addCriterion("order_detail_id >=", value, "orderDetailId");
            return (Criteria) this;
        }

        public Criteria andOrderDetailIdLessThan(Long value) {
            addCriterion("order_detail_id <", value, "orderDetailId");
            return (Criteria) this;
        }

        public Criteria andOrderDetailIdLessThanOrEqualTo(Long value) {
            addCriterion("order_detail_id <=", value, "orderDetailId");
            return (Criteria) this;
        }

        public Criteria andOrderDetailIdIn(List<Long> values) {
            addCriterion("order_detail_id in", values, "orderDetailId");
            return (Criteria) this;
        }

        public Criteria andOrderDetailIdNotIn(List<Long> values) {
            addCriterion("order_detail_id not in", values, "orderDetailId");
            return (Criteria) this;
        }

        public Criteria andOrderDetailIdBetween(Long value1, Long value2) {
            addCriterion("order_detail_id between", value1, value2, "orderDetailId");
            return (Criteria) this;
        }

        public Criteria andOrderDetailIdNotBetween(Long value1, Long value2) {
            addCriterion("order_detail_id not between", value1, value2, "orderDetailId");
            return (Criteria) this;
        }

        public Criteria andInfoIdIsNull() {
            addCriterion("info_id is null");
            return (Criteria) this;
        }

        public Criteria andInfoIdIsNotNull() {
            addCriterion("info_id is not null");
            return (Criteria) this;
        }

        public Criteria andInfoIdEqualTo(Long value) {
            addCriterion("info_id =", value, "infoId");
            return (Criteria) this;
        }

        public Criteria andInfoIdNotEqualTo(Long value) {
            addCriterion("info_id <>", value, "infoId");
            return (Criteria) this;
        }

        public Criteria andInfoIdGreaterThan(Long value) {
            addCriterion("info_id >", value, "infoId");
            return (Criteria) this;
        }

        public Criteria andInfoIdGreaterThanOrEqualTo(Long value) {
            addCriterion("info_id >=", value, "infoId");
            return (Criteria) this;
        }

        public Criteria andInfoIdLessThan(Long value) {
            addCriterion("info_id <", value, "infoId");
            return (Criteria) this;
        }

        public Criteria andInfoIdLessThanOrEqualTo(Long value) {
            addCriterion("info_id <=", value, "infoId");
            return (Criteria) this;
        }

        public Criteria andInfoIdIn(List<Long> values) {
            addCriterion("info_id in", values, "infoId");
            return (Criteria) this;
        }

        public Criteria andInfoIdNotIn(List<Long> values) {
            addCriterion("info_id not in", values, "infoId");
            return (Criteria) this;
        }

        public Criteria andInfoIdBetween(Long value1, Long value2) {
            addCriterion("info_id between", value1, value2, "infoId");
            return (Criteria) this;
        }

        public Criteria andInfoIdNotBetween(Long value1, Long value2) {
            addCriterion("info_id not between", value1, value2, "infoId");
            return (Criteria) this;
        }

        public Criteria andOrderIdIsNull() {
            addCriterion("order_id is null");
            return (Criteria) this;
        }

        public Criteria andOrderIdIsNotNull() {
            addCriterion("order_id is not null");
            return (Criteria) this;
        }

        public Criteria andOrderIdEqualTo(Long value) {
            addCriterion("order_id =", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdNotEqualTo(Long value) {
            addCriterion("order_id <>", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdGreaterThan(Long value) {
            addCriterion("order_id >", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdGreaterThanOrEqualTo(Long value) {
            addCriterion("order_id >=", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdLessThan(Long value) {
            addCriterion("order_id <", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdLessThanOrEqualTo(Long value) {
            addCriterion("order_id <=", value, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdIn(List<Long> values) {
            addCriterion("order_id in", values, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdNotIn(List<Long> values) {
            addCriterion("order_id not in", values, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdBetween(Long value1, Long value2) {
            addCriterion("order_id between", value1, value2, "orderId");
            return (Criteria) this;
        }

        public Criteria andOrderIdNotBetween(Long value1, Long value2) {
            addCriterion("order_id not between", value1, value2, "orderId");
            return (Criteria) this;
        }

        public Criteria andNumberIsNull() {
            addCriterion("number is null");
            return (Criteria) this;
        }

        public Criteria andNumberIsNotNull() {
            addCriterion("number is not null");
            return (Criteria) this;
        }

        public Criteria andNumberEqualTo(Integer value) {
            addCriterion("number =", value, "number");
            return (Criteria) this;
        }

        public Criteria andNumberNotEqualTo(Integer value) {
            addCriterion("number <>", value, "number");
            return (Criteria) this;
        }

        public Criteria andNumberGreaterThan(Integer value) {
            addCriterion("number >", value, "number");
            return (Criteria) this;
        }

        public Criteria andNumberGreaterThanOrEqualTo(Integer value) {
            addCriterion("number >=", value, "number");
            return (Criteria) this;
        }

        public Criteria andNumberLessThan(Integer value) {
            addCriterion("number <", value, "number");
            return (Criteria) this;
        }

        public Criteria andNumberLessThanOrEqualTo(Integer value) {
            addCriterion("number <=", value, "number");
            return (Criteria) this;
        }

        public Criteria andNumberIn(List<Integer> values) {
            addCriterion("number in", values, "number");
            return (Criteria) this;
        }

        public Criteria andNumberNotIn(List<Integer> values) {
            addCriterion("number not in", values, "number");
            return (Criteria) this;
        }

        public Criteria andNumberBetween(Integer value1, Integer value2) {
            addCriterion("number between", value1, value2, "number");
            return (Criteria) this;
        }

        public Criteria andNumberNotBetween(Integer value1, Integer value2) {
            addCriterion("number not between", value1, value2, "number");
            return (Criteria) this;
        }

        public Criteria andArrivalNumIsNull() {
            addCriterion("arrival_num is null");
            return (Criteria) this;
        }

        public Criteria andArrivalNumIsNotNull() {
            addCriterion("arrival_num is not null");
            return (Criteria) this;
        }

        public Criteria andArrivalNumEqualTo(Integer value) {
            addCriterion("arrival_num =", value, "arrivalNum");
            return (Criteria) this;
        }

        public Criteria andArrivalNumNotEqualTo(Integer value) {
            addCriterion("arrival_num <>", value, "arrivalNum");
            return (Criteria) this;
        }

        public Criteria andArrivalNumGreaterThan(Integer value) {
            addCriterion("arrival_num >", value, "arrivalNum");
            return (Criteria) this;
        }

        public Criteria andArrivalNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("arrival_num >=", value, "arrivalNum");
            return (Criteria) this;
        }

        public Criteria andArrivalNumLessThan(Integer value) {
            addCriterion("arrival_num <", value, "arrivalNum");
            return (Criteria) this;
        }

        public Criteria andArrivalNumLessThanOrEqualTo(Integer value) {
            addCriterion("arrival_num <=", value, "arrivalNum");
            return (Criteria) this;
        }

        public Criteria andArrivalNumIn(List<Integer> values) {
            addCriterion("arrival_num in", values, "arrivalNum");
            return (Criteria) this;
        }

        public Criteria andArrivalNumNotIn(List<Integer> values) {
            addCriterion("arrival_num not in", values, "arrivalNum");
            return (Criteria) this;
        }

        public Criteria andArrivalNumBetween(Integer value1, Integer value2) {
            addCriterion("arrival_num between", value1, value2, "arrivalNum");
            return (Criteria) this;
        }

        public Criteria andArrivalNumNotBetween(Integer value1, Integer value2) {
            addCriterion("arrival_num not between", value1, value2, "arrivalNum");
            return (Criteria) this;
        }

        public Criteria andUnarrivalNumIsNull() {
            addCriterion("unarrival_num is null");
            return (Criteria) this;
        }

        public Criteria andUnarrivalNumIsNotNull() {
            addCriterion("unarrival_num is not null");
            return (Criteria) this;
        }

        public Criteria andUnarrivalNumEqualTo(Integer value) {
            addCriterion("unarrival_num =", value, "unarrivalNum");
            return (Criteria) this;
        }

        public Criteria andUnarrivalNumNotEqualTo(Integer value) {
            addCriterion("unarrival_num <>", value, "unarrivalNum");
            return (Criteria) this;
        }

        public Criteria andUnarrivalNumGreaterThan(Integer value) {
            addCriterion("unarrival_num >", value, "unarrivalNum");
            return (Criteria) this;
        }

        public Criteria andUnarrivalNumGreaterThanOrEqualTo(Integer value) {
            addCriterion("unarrival_num >=", value, "unarrivalNum");
            return (Criteria) this;
        }

        public Criteria andUnarrivalNumLessThan(Integer value) {
            addCriterion("unarrival_num <", value, "unarrivalNum");
            return (Criteria) this;
        }

        public Criteria andUnarrivalNumLessThanOrEqualTo(Integer value) {
            addCriterion("unarrival_num <=", value, "unarrivalNum");
            return (Criteria) this;
        }

        public Criteria andUnarrivalNumIn(List<Integer> values) {
            addCriterion("unarrival_num in", values, "unarrivalNum");
            return (Criteria) this;
        }

        public Criteria andUnarrivalNumNotIn(List<Integer> values) {
            addCriterion("unarrival_num not in", values, "unarrivalNum");
            return (Criteria) this;
        }

        public Criteria andUnarrivalNumBetween(Integer value1, Integer value2) {
            addCriterion("unarrival_num between", value1, value2, "unarrivalNum");
            return (Criteria) this;
        }

        public Criteria andUnarrivalNumNotBetween(Integer value1, Integer value2) {
            addCriterion("unarrival_num not between", value1, value2, "unarrivalNum");
            return (Criteria) this;
        }

        public Criteria andPriceIsNull() {
            addCriterion("price is null");
            return (Criteria) this;
        }

        public Criteria andPriceIsNotNull() {
            addCriterion("price is not null");
            return (Criteria) this;
        }

        public Criteria andPriceEqualTo(Integer value) {
            addCriterion("price =", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotEqualTo(Integer value) {
            addCriterion("price <>", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceGreaterThan(Integer value) {
            addCriterion("price >", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceGreaterThanOrEqualTo(Integer value) {
            addCriterion("price >=", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceLessThan(Integer value) {
            addCriterion("price <", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceLessThanOrEqualTo(Integer value) {
            addCriterion("price <=", value, "price");
            return (Criteria) this;
        }

        public Criteria andPriceIn(List<Integer> values) {
            addCriterion("price in", values, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotIn(List<Integer> values) {
            addCriterion("price not in", values, "price");
            return (Criteria) this;
        }

        public Criteria andPriceBetween(Integer value1, Integer value2) {
            addCriterion("price between", value1, value2, "price");
            return (Criteria) this;
        }

        public Criteria andPriceNotBetween(Integer value1, Integer value2) {
            addCriterion("price not between", value1, value2, "price");
            return (Criteria) this;
        }

        public Criteria andTotleIsNull() {
            addCriterion("totle is null");
            return (Criteria) this;
        }

        public Criteria andTotleIsNotNull() {
            addCriterion("totle is not null");
            return (Criteria) this;
        }

        public Criteria andTotleEqualTo(String value) {
            addCriterion("totle =", value, "totle");
            return (Criteria) this;
        }

        public Criteria andTotleNotEqualTo(String value) {
            addCriterion("totle <>", value, "totle");
            return (Criteria) this;
        }

        public Criteria andTotleGreaterThan(String value) {
            addCriterion("totle >", value, "totle");
            return (Criteria) this;
        }

        public Criteria andTotleGreaterThanOrEqualTo(String value) {
            addCriterion("totle >=", value, "totle");
            return (Criteria) this;
        }

        public Criteria andTotleLessThan(String value) {
            addCriterion("totle <", value, "totle");
            return (Criteria) this;
        }

        public Criteria andTotleLessThanOrEqualTo(String value) {
            addCriterion("totle <=", value, "totle");
            return (Criteria) this;
        }

        public Criteria andTotleLike(String value) {
            addCriterion("totle like", value, "totle");
            return (Criteria) this;
        }

        public Criteria andTotleNotLike(String value) {
            addCriterion("totle not like", value, "totle");
            return (Criteria) this;
        }

        public Criteria andTotleIn(List<String> values) {
            addCriterion("totle in", values, "totle");
            return (Criteria) this;
        }

        public Criteria andTotleNotIn(List<String> values) {
            addCriterion("totle not in", values, "totle");
            return (Criteria) this;
        }

        public Criteria andTotleBetween(String value1, String value2) {
            addCriterion("totle between", value1, value2, "totle");
            return (Criteria) this;
        }

        public Criteria andTotleNotBetween(String value1, String value2) {
            addCriterion("totle not between", value1, value2, "totle");
            return (Criteria) this;
        }

        public Criteria andArrivalDataIsNull() {
            addCriterion("arrival_data is null");
            return (Criteria) this;
        }

        public Criteria andArrivalDataIsNotNull() {
            addCriterion("arrival_data is not null");
            return (Criteria) this;
        }

        public Criteria andArrivalDataEqualTo(Date value) {
            addCriterion("arrival_data =", value, "arrivalData");
            return (Criteria) this;
        }

        public Criteria andArrivalDataNotEqualTo(Date value) {
            addCriterion("arrival_data <>", value, "arrivalData");
            return (Criteria) this;
        }

        public Criteria andArrivalDataGreaterThan(Date value) {
            addCriterion("arrival_data >", value, "arrivalData");
            return (Criteria) this;
        }

        public Criteria andArrivalDataGreaterThanOrEqualTo(Date value) {
            addCriterion("arrival_data >=", value, "arrivalData");
            return (Criteria) this;
        }

        public Criteria andArrivalDataLessThan(Date value) {
            addCriterion("arrival_data <", value, "arrivalData");
            return (Criteria) this;
        }

        public Criteria andArrivalDataLessThanOrEqualTo(Date value) {
            addCriterion("arrival_data <=", value, "arrivalData");
            return (Criteria) this;
        }

        public Criteria andArrivalDataIn(List<Date> values) {
            addCriterion("arrival_data in", values, "arrivalData");
            return (Criteria) this;
        }

        public Criteria andArrivalDataNotIn(List<Date> values) {
            addCriterion("arrival_data not in", values, "arrivalData");
            return (Criteria) this;
        }

        public Criteria andArrivalDataBetween(Date value1, Date value2) {
            addCriterion("arrival_data between", value1, value2, "arrivalData");
            return (Criteria) this;
        }

        public Criteria andArrivalDataNotBetween(Date value1, Date value2) {
            addCriterion("arrival_data not between", value1, value2, "arrivalData");
            return (Criteria) this;
        }

        public Criteria andCremarkIsNull() {
            addCriterion("cremark is null");
            return (Criteria) this;
        }

        public Criteria andCremarkIsNotNull() {
            addCriterion("cremark is not null");
            return (Criteria) this;
        }

        public Criteria andCremarkEqualTo(String value) {
            addCriterion("cremark =", value, "cremark");
            return (Criteria) this;
        }

        public Criteria andCremarkNotEqualTo(String value) {
            addCriterion("cremark <>", value, "cremark");
            return (Criteria) this;
        }

        public Criteria andCremarkGreaterThan(String value) {
            addCriterion("cremark >", value, "cremark");
            return (Criteria) this;
        }

        public Criteria andCremarkGreaterThanOrEqualTo(String value) {
            addCriterion("cremark >=", value, "cremark");
            return (Criteria) this;
        }

        public Criteria andCremarkLessThan(String value) {
            addCriterion("cremark <", value, "cremark");
            return (Criteria) this;
        }

        public Criteria andCremarkLessThanOrEqualTo(String value) {
            addCriterion("cremark <=", value, "cremark");
            return (Criteria) this;
        }

        public Criteria andCremarkLike(String value) {
            addCriterion("cremark like", value, "cremark");
            return (Criteria) this;
        }

        public Criteria andCremarkNotLike(String value) {
            addCriterion("cremark not like", value, "cremark");
            return (Criteria) this;
        }

        public Criteria andCremarkIn(List<String> values) {
            addCriterion("cremark in", values, "cremark");
            return (Criteria) this;
        }

        public Criteria andCremarkNotIn(List<String> values) {
            addCriterion("cremark not in", values, "cremark");
            return (Criteria) this;
        }

        public Criteria andCremarkBetween(String value1, String value2) {
            addCriterion("cremark between", value1, value2, "cremark");
            return (Criteria) this;
        }

        public Criteria andCremarkNotBetween(String value1, String value2) {
            addCriterion("cremark not between", value1, value2, "cremark");
            return (Criteria) this;
        }

        public Criteria andCremark1IsNull() {
            addCriterion("cremark1 is null");
            return (Criteria) this;
        }

        public Criteria andCremark1IsNotNull() {
            addCriterion("cremark1 is not null");
            return (Criteria) this;
        }

        public Criteria andCremark1EqualTo(String value) {
            addCriterion("cremark1 =", value, "cremark1");
            return (Criteria) this;
        }

        public Criteria andCremark1NotEqualTo(String value) {
            addCriterion("cremark1 <>", value, "cremark1");
            return (Criteria) this;
        }

        public Criteria andCremark1GreaterThan(String value) {
            addCriterion("cremark1 >", value, "cremark1");
            return (Criteria) this;
        }

        public Criteria andCremark1GreaterThanOrEqualTo(String value) {
            addCriterion("cremark1 >=", value, "cremark1");
            return (Criteria) this;
        }

        public Criteria andCremark1LessThan(String value) {
            addCriterion("cremark1 <", value, "cremark1");
            return (Criteria) this;
        }

        public Criteria andCremark1LessThanOrEqualTo(String value) {
            addCriterion("cremark1 <=", value, "cremark1");
            return (Criteria) this;
        }

        public Criteria andCremark1Like(String value) {
            addCriterion("cremark1 like", value, "cremark1");
            return (Criteria) this;
        }

        public Criteria andCremark1NotLike(String value) {
            addCriterion("cremark1 not like", value, "cremark1");
            return (Criteria) this;
        }

        public Criteria andCremark1In(List<String> values) {
            addCriterion("cremark1 in", values, "cremark1");
            return (Criteria) this;
        }

        public Criteria andCremark1NotIn(List<String> values) {
            addCriterion("cremark1 not in", values, "cremark1");
            return (Criteria) this;
        }

        public Criteria andCremark1Between(String value1, String value2) {
            addCriterion("cremark1 between", value1, value2, "cremark1");
            return (Criteria) this;
        }

        public Criteria andCremark1NotBetween(String value1, String value2) {
            addCriterion("cremark1 not between", value1, value2, "cremark1");
            return (Criteria) this;
        }

        public Criteria andCremark2IsNull() {
            addCriterion("cremark2 is null");
            return (Criteria) this;
        }

        public Criteria andCremark2IsNotNull() {
            addCriterion("cremark2 is not null");
            return (Criteria) this;
        }

        public Criteria andCremark2EqualTo(String value) {
            addCriterion("cremark2 =", value, "cremark2");
            return (Criteria) this;
        }

        public Criteria andCremark2NotEqualTo(String value) {
            addCriterion("cremark2 <>", value, "cremark2");
            return (Criteria) this;
        }

        public Criteria andCremark2GreaterThan(String value) {
            addCriterion("cremark2 >", value, "cremark2");
            return (Criteria) this;
        }

        public Criteria andCremark2GreaterThanOrEqualTo(String value) {
            addCriterion("cremark2 >=", value, "cremark2");
            return (Criteria) this;
        }

        public Criteria andCremark2LessThan(String value) {
            addCriterion("cremark2 <", value, "cremark2");
            return (Criteria) this;
        }

        public Criteria andCremark2LessThanOrEqualTo(String value) {
            addCriterion("cremark2 <=", value, "cremark2");
            return (Criteria) this;
        }

        public Criteria andCremark2Like(String value) {
            addCriterion("cremark2 like", value, "cremark2");
            return (Criteria) this;
        }

        public Criteria andCremark2NotLike(String value) {
            addCriterion("cremark2 not like", value, "cremark2");
            return (Criteria) this;
        }

        public Criteria andCremark2In(List<String> values) {
            addCriterion("cremark2 in", values, "cremark2");
            return (Criteria) this;
        }

        public Criteria andCremark2NotIn(List<String> values) {
            addCriterion("cremark2 not in", values, "cremark2");
            return (Criteria) this;
        }

        public Criteria andCremark2Between(String value1, String value2) {
            addCriterion("cremark2 between", value1, value2, "cremark2");
            return (Criteria) this;
        }

        public Criteria andCremark2NotBetween(String value1, String value2) {
            addCriterion("cremark2 not between", value1, value2, "cremark2");
            return (Criteria) this;
        }

        public Criteria andCremark3IsNull() {
            addCriterion("cremark3 is null");
            return (Criteria) this;
        }

        public Criteria andCremark3IsNotNull() {
            addCriterion("cremark3 is not null");
            return (Criteria) this;
        }

        public Criteria andCremark3EqualTo(String value) {
            addCriterion("cremark3 =", value, "cremark3");
            return (Criteria) this;
        }

        public Criteria andCremark3NotEqualTo(String value) {
            addCriterion("cremark3 <>", value, "cremark3");
            return (Criteria) this;
        }

        public Criteria andCremark3GreaterThan(String value) {
            addCriterion("cremark3 >", value, "cremark3");
            return (Criteria) this;
        }

        public Criteria andCremark3GreaterThanOrEqualTo(String value) {
            addCriterion("cremark3 >=", value, "cremark3");
            return (Criteria) this;
        }

        public Criteria andCremark3LessThan(String value) {
            addCriterion("cremark3 <", value, "cremark3");
            return (Criteria) this;
        }

        public Criteria andCremark3LessThanOrEqualTo(String value) {
            addCriterion("cremark3 <=", value, "cremark3");
            return (Criteria) this;
        }

        public Criteria andCremark3Like(String value) {
            addCriterion("cremark3 like", value, "cremark3");
            return (Criteria) this;
        }

        public Criteria andCremark3NotLike(String value) {
            addCriterion("cremark3 not like", value, "cremark3");
            return (Criteria) this;
        }

        public Criteria andCremark3In(List<String> values) {
            addCriterion("cremark3 in", values, "cremark3");
            return (Criteria) this;
        }

        public Criteria andCremark3NotIn(List<String> values) {
            addCriterion("cremark3 not in", values, "cremark3");
            return (Criteria) this;
        }

        public Criteria andCremark3Between(String value1, String value2) {
            addCriterion("cremark3 between", value1, value2, "cremark3");
            return (Criteria) this;
        }

        public Criteria andCremark3NotBetween(String value1, String value2) {
            addCriterion("cremark3 not between", value1, value2, "cremark3");
            return (Criteria) this;
        }

        public Criteria andCremark4IsNull() {
            addCriterion("cremark4 is null");
            return (Criteria) this;
        }

        public Criteria andCremark4IsNotNull() {
            addCriterion("cremark4 is not null");
            return (Criteria) this;
        }

        public Criteria andCremark4EqualTo(String value) {
            addCriterion("cremark4 =", value, "cremark4");
            return (Criteria) this;
        }

        public Criteria andCremark4NotEqualTo(String value) {
            addCriterion("cremark4 <>", value, "cremark4");
            return (Criteria) this;
        }

        public Criteria andCremark4GreaterThan(String value) {
            addCriterion("cremark4 >", value, "cremark4");
            return (Criteria) this;
        }

        public Criteria andCremark4GreaterThanOrEqualTo(String value) {
            addCriterion("cremark4 >=", value, "cremark4");
            return (Criteria) this;
        }

        public Criteria andCremark4LessThan(String value) {
            addCriterion("cremark4 <", value, "cremark4");
            return (Criteria) this;
        }

        public Criteria andCremark4LessThanOrEqualTo(String value) {
            addCriterion("cremark4 <=", value, "cremark4");
            return (Criteria) this;
        }

        public Criteria andCremark4Like(String value) {
            addCriterion("cremark4 like", value, "cremark4");
            return (Criteria) this;
        }

        public Criteria andCremark4NotLike(String value) {
            addCriterion("cremark4 not like", value, "cremark4");
            return (Criteria) this;
        }

        public Criteria andCremark4In(List<String> values) {
            addCriterion("cremark4 in", values, "cremark4");
            return (Criteria) this;
        }

        public Criteria andCremark4NotIn(List<String> values) {
            addCriterion("cremark4 not in", values, "cremark4");
            return (Criteria) this;
        }

        public Criteria andCremark4Between(String value1, String value2) {
            addCriterion("cremark4 between", value1, value2, "cremark4");
            return (Criteria) this;
        }

        public Criteria andCremark4NotBetween(String value1, String value2) {
            addCriterion("cremark4 not between", value1, value2, "cremark4");
            return (Criteria) this;
        }

        public Criteria andCremark5IsNull() {
            addCriterion("cremark5 is null");
            return (Criteria) this;
        }

        public Criteria andCremark5IsNotNull() {
            addCriterion("cremark5 is not null");
            return (Criteria) this;
        }

        public Criteria andCremark5EqualTo(String value) {
            addCriterion("cremark5 =", value, "cremark5");
            return (Criteria) this;
        }

        public Criteria andCremark5NotEqualTo(String value) {
            addCriterion("cremark5 <>", value, "cremark5");
            return (Criteria) this;
        }

        public Criteria andCremark5GreaterThan(String value) {
            addCriterion("cremark5 >", value, "cremark5");
            return (Criteria) this;
        }

        public Criteria andCremark5GreaterThanOrEqualTo(String value) {
            addCriterion("cremark5 >=", value, "cremark5");
            return (Criteria) this;
        }

        public Criteria andCremark5LessThan(String value) {
            addCriterion("cremark5 <", value, "cremark5");
            return (Criteria) this;
        }

        public Criteria andCremark5LessThanOrEqualTo(String value) {
            addCriterion("cremark5 <=", value, "cremark5");
            return (Criteria) this;
        }

        public Criteria andCremark5Like(String value) {
            addCriterion("cremark5 like", value, "cremark5");
            return (Criteria) this;
        }

        public Criteria andCremark5NotLike(String value) {
            addCriterion("cremark5 not like", value, "cremark5");
            return (Criteria) this;
        }

        public Criteria andCremark5In(List<String> values) {
            addCriterion("cremark5 in", values, "cremark5");
            return (Criteria) this;
        }

        public Criteria andCremark5NotIn(List<String> values) {
            addCriterion("cremark5 not in", values, "cremark5");
            return (Criteria) this;
        }

        public Criteria andCremark5Between(String value1, String value2) {
            addCriterion("cremark5 between", value1, value2, "cremark5");
            return (Criteria) this;
        }

        public Criteria andCremark5NotBetween(String value1, String value2) {
            addCriterion("cremark5 not between", value1, value2, "cremark5");
            return (Criteria) this;
        }

        public Criteria andCremark6IsNull() {
            addCriterion("cremark6 is null");
            return (Criteria) this;
        }

        public Criteria andCremark6IsNotNull() {
            addCriterion("cremark6 is not null");
            return (Criteria) this;
        }

        public Criteria andCremark6EqualTo(String value) {
            addCriterion("cremark6 =", value, "cremark6");
            return (Criteria) this;
        }

        public Criteria andCremark6NotEqualTo(String value) {
            addCriterion("cremark6 <>", value, "cremark6");
            return (Criteria) this;
        }

        public Criteria andCremark6GreaterThan(String value) {
            addCriterion("cremark6 >", value, "cremark6");
            return (Criteria) this;
        }

        public Criteria andCremark6GreaterThanOrEqualTo(String value) {
            addCriterion("cremark6 >=", value, "cremark6");
            return (Criteria) this;
        }

        public Criteria andCremark6LessThan(String value) {
            addCriterion("cremark6 <", value, "cremark6");
            return (Criteria) this;
        }

        public Criteria andCremark6LessThanOrEqualTo(String value) {
            addCriterion("cremark6 <=", value, "cremark6");
            return (Criteria) this;
        }

        public Criteria andCremark6Like(String value) {
            addCriterion("cremark6 like", value, "cremark6");
            return (Criteria) this;
        }

        public Criteria andCremark6NotLike(String value) {
            addCriterion("cremark6 not like", value, "cremark6");
            return (Criteria) this;
        }

        public Criteria andCremark6In(List<String> values) {
            addCriterion("cremark6 in", values, "cremark6");
            return (Criteria) this;
        }

        public Criteria andCremark6NotIn(List<String> values) {
            addCriterion("cremark6 not in", values, "cremark6");
            return (Criteria) this;
        }

        public Criteria andCremark6Between(String value1, String value2) {
            addCriterion("cremark6 between", value1, value2, "cremark6");
            return (Criteria) this;
        }

        public Criteria andCremark6NotBetween(String value1, String value2) {
            addCriterion("cremark6 not between", value1, value2, "cremark6");
            return (Criteria) this;
        }

        public Criteria andInfoNameIsNull() {
            addCriterion("info_name is null");
            return (Criteria) this;
        }

        public Criteria andInfoNameIsNotNull() {
            addCriterion("info_name is not null");
            return (Criteria) this;
        }

        public Criteria andInfoNameEqualTo(String value) {
            addCriterion("info_name =", value, "infoName");
            return (Criteria) this;
        }

        public Criteria andInfoNameNotEqualTo(String value) {
            addCriterion("info_name <>", value, "infoName");
            return (Criteria) this;
        }

        public Criteria andInfoNameGreaterThan(String value) {
            addCriterion("info_name >", value, "infoName");
            return (Criteria) this;
        }

        public Criteria andInfoNameGreaterThanOrEqualTo(String value) {
            addCriterion("info_name >=", value, "infoName");
            return (Criteria) this;
        }

        public Criteria andInfoNameLessThan(String value) {
            addCriterion("info_name <", value, "infoName");
            return (Criteria) this;
        }

        public Criteria andInfoNameLessThanOrEqualTo(String value) {
            addCriterion("info_name <=", value, "infoName");
            return (Criteria) this;
        }

        public Criteria andInfoNameLike(String value) {
            addCriterion("info_name like", value, "infoName");
            return (Criteria) this;
        }

        public Criteria andInfoNameNotLike(String value) {
            addCriterion("info_name not like", value, "infoName");
            return (Criteria) this;
        }

        public Criteria andInfoNameIn(List<String> values) {
            addCriterion("info_name in", values, "infoName");
            return (Criteria) this;
        }

        public Criteria andInfoNameNotIn(List<String> values) {
            addCriterion("info_name not in", values, "infoName");
            return (Criteria) this;
        }

        public Criteria andInfoNameBetween(String value1, String value2) {
            addCriterion("info_name between", value1, value2, "infoName");
            return (Criteria) this;
        }

        public Criteria andInfoNameNotBetween(String value1, String value2) {
            addCriterion("info_name not between", value1, value2, "infoName");
            return (Criteria) this;
        }

        public Criteria andInfoModelIsNull() {
            addCriterion("info_model is null");
            return (Criteria) this;
        }

        public Criteria andInfoModelIsNotNull() {
            addCriterion("info_model is not null");
            return (Criteria) this;
        }

        public Criteria andInfoModelEqualTo(String value) {
            addCriterion("info_model =", value, "infoModel");
            return (Criteria) this;
        }

        public Criteria andInfoModelNotEqualTo(String value) {
            addCriterion("info_model <>", value, "infoModel");
            return (Criteria) this;
        }

        public Criteria andInfoModelGreaterThan(String value) {
            addCriterion("info_model >", value, "infoModel");
            return (Criteria) this;
        }

        public Criteria andInfoModelGreaterThanOrEqualTo(String value) {
            addCriterion("info_model >=", value, "infoModel");
            return (Criteria) this;
        }

        public Criteria andInfoModelLessThan(String value) {
            addCriterion("info_model <", value, "infoModel");
            return (Criteria) this;
        }

        public Criteria andInfoModelLessThanOrEqualTo(String value) {
            addCriterion("info_model <=", value, "infoModel");
            return (Criteria) this;
        }

        public Criteria andInfoModelLike(String value) {
            addCriterion("info_model like", value, "infoModel");
            return (Criteria) this;
        }

        public Criteria andInfoModelNotLike(String value) {
            addCriterion("info_model not like", value, "infoModel");
            return (Criteria) this;
        }

        public Criteria andInfoModelIn(List<String> values) {
            addCriterion("info_model in", values, "infoModel");
            return (Criteria) this;
        }

        public Criteria andInfoModelNotIn(List<String> values) {
            addCriterion("info_model not in", values, "infoModel");
            return (Criteria) this;
        }

        public Criteria andInfoModelBetween(String value1, String value2) {
            addCriterion("info_model between", value1, value2, "infoModel");
            return (Criteria) this;
        }

        public Criteria andInfoModelNotBetween(String value1, String value2) {
            addCriterion("info_model not between", value1, value2, "infoModel");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}